package br.patrimonio.inventario.entity;

import java.io.Serializable;
import java.util.Calendar;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Index;

import br.patrimonio.inventario.converter.BaseEntity;

@Entity
public class Setor implements Serializable, BaseEntity {

	private static final long serialVersionUID = 1L;

	@Id
	@Index(name="setor_id")
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="setor_id")
	private Long id;
	
	@Index(name="setor_nome")
	@Column(name="setor_nome")
	private String nome;
	
	@Index(name="fk_unidade")
	@ManyToOne
	@JoinColumn(name="fk_unidade")
	private Unidade unidade;

	@Column(name="setor_numero")
	private Integer numero;

	@Column(name="setor_responsavel")
	private String responsavel;
	
	@Column(name="setor_responsavel2")
	private String responsavel2;
	
	@Column(name="setor_inventariante_siape")
	private Integer siape;
	
	@Temporal(TemporalType.DATE)
	@Column(name="setor_data_verificacao")
	private Calendar data_verificacao = Calendar.getInstance();
	
	@Column(name="setor_inventariante")
	private String inventariante;
	
	@Column(name="setor_concluido")
	private String concluido;
	
	@Column(name="setor_impresso")
	private Boolean impresso;

	//Getters and Setters
	
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome.toUpperCase();
	}

	public Unidade getUnidade() {
		return unidade;
	}

	public void setUnidade(Unidade unidade) {
		this.unidade = unidade;
	}

	public Integer getNumero() {
		return numero;
	}

	public void setNumero(Integer numero) {
		this.numero = numero;
	}

	public String getResponsavel() {
		return responsavel;
	}

	public void setResponsavel(String responsavel) {
		this.responsavel = responsavel.toUpperCase();
	}

	public Calendar getData_verificacao() {
		return data_verificacao;
	}

	public void setData_verificacao(Calendar data_verificacao) {
		this.data_verificacao = data_verificacao;
	}

	public String getInventariante() {
		return inventariante;
	}

	public void setInventariante(String inventariante) {
		this.inventariante = inventariante.toUpperCase();
	}

	public Integer getSiape() {
		return siape;
	}

	public void setSiape(Integer siape) {
		this.siape = siape;
	}

	public String getResponsavel2() {
		return responsavel2;
	}

	public void setResponsavel2(String responsavel2) {
		this.responsavel2 = responsavel2.toUpperCase();
	}

	public String getConcluido() {
		return concluido;
	}

	public void setConcluido(String concluido) {
		this.concluido = concluido;
	}

	public Boolean getImpresso() {
		return impresso;
	}

	public void setImpresso(Boolean impresso) {
		this.impresso = impresso;
	}

	
}
